package com.sky.service;

import com.sky.dto.*;
import com.sky.entity.User;
import com.sky.result.PageResult;
import com.sky.result.Result;
import com.sky.vo.DictDetailVO;
import com.sky.vo.DictInfoVO;
import com.sky.vo.DictVO;
import com.sky.vo.UserListVO;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @author 贾晓晨
 * @version 1.0
 */
@Service
public interface BackstageService {

    User login(UserLoginDTO userLoginDTO);

    PageResult getArticleList(UserPageQueryDTO userPageQueryDTO);

    PageResult getDict(DictPageQueryDTO dictPageQueryDTO);

    void setUserStatus(UserStatusDTO userStatusDTO);

    UserListVO getUserInfoById(Integer id);

    void updateUserInfo(UserUpdateDTO userUpdateDTO);

    void register(UserBackStageRegisterDTO userBackStageRegisterDTO);


    void deleteUser(List<Integer> idList);

    DictVO getDictInfo(Integer id);

    void updateDict(BackstageDictUpdate backstageDictUpdate);

    void addDict(BackstageDictAdd backstageDictAdd);

    void updateDictStatusUpdate(BackstageDictStatusUpdate backstageDictStatusUpdate);

    PageResult getDictDetails(BackstageDictQueryPage backstageDictQueryPage);

    void addDictDetails(BackstageDictDetailsAdd backstageDictDetailsAdd);

    void updateDictDetails(BackstageDictDetailsUpdateDTO backstageDictDetailsUpdateDTO);

    DictInfoVO getDictDetailsById(Integer id);

    void deleteDictDetail(List<Integer> ids);

    void deleteDictDetailByDictId(List<Integer> ids);

    void deleteDict(List<Integer> ids);

    List<DictInfoVO> getDictDetailsBydictName(String str);
}
